package junit.moreInstance;

import java.util.ArrayList;
import java.util.Random;

/**
 * 多例模式
 */
public class Teacher {
    //构造方法私有，使其不能在类的外部通过new关键字来实例化该对象
    private Teacher(){}
    //在类中定义该类被创建的对象的总数量
    private final int maxCount=3;
    //在类中定义存放实例的list集合
    private static ArrayList<Teacher> list = new ArrayList<>();
    //在类中提供静态代码块，在静态代码块中创建类的实例
    static {
        for (int i = 0; i < 3; i++) {
            list.add(new Teacher());
        }
    }
    //提供获取类实例的静态方法
    public static Teacher getInstance() {
        Random r = new Random();
        return list.get(r.nextInt(list.size()));
    }
}
